Interest in avatar-based virtual reality communications systems has grown with the increased availability of computing systems that have high-processing-power and high-bandwidth network connections. A primary goal of such a virtual reality system is to create a virtual space in which users can interact and communicate using realtime data streams, such as audio, video and text chat streams. The virtual space typically is defined by a computer graphics specification that describes the visual geometry of the space, the colors and textures that are mapped onto the visual geometry, the collision properties that control how users maneuver within the space, and auditory properties, such as, reverberation and sound absorption properties, of the space.
In a typical virtual reality system, the users communicate with each other from respective computers through an interface that is a source, a sink, or both a source and a sink of one or more of the realtime data streams that are supported by the system. A virtual reality software application running on each of the user's computers configures its own audio and graphic rendering based on position information describing the positions of avatars in the virtual space. The position information typically is received either directly from the other users' computers or indirectly from a central presence server. By default, the virtual reality software application typically connects each source represented in the virtual space to every sink represented in the virtual space, subject to conditions specified in global switching rules, local user preferences, and the properties of objects within the virtual space. These conditions typically are specified in terms of relative distances between objects. For example, some virtual reality software applications are configured so that realtime data stream connections are not established if the separation distance between avatars exceeds a maximum threshold distance.
A successful virtual reality communications system typically should have relatively low computational resource requirements so that realtime communications performance can be achieved using currently available computing devices and network bandwidth constraints. In addition, such a system typically should be implemented in a way that encourages area designers to develop virtual areas that increase the adoption of the system by users.